def get_valid_number(prompt, num_type=float):
    """获取合法的数字输入"""
    while True:
        try:
            value = num_type(input(prompt))
            if value < 0:
                print("输入不能为负数，请重新输入！")
                continue
            return value
        except ValueError:
            print(f"输入格式错误，请输入有效的{num_type.__name__}！")

# 积分计算规则（可自定义，例如1元=1积分）
def calculate_points(consume):
    points_per_yuan = 1  # 每消费1元得1积分
    return int(consume * points_per_yuan)

# 获取消费金额并计算积分
consume = get_valid_number("请输入消费金额（元）：", float)
points = calculate_points(consume)
print(f"消费金额：{consume}元 → 累计积分：{points}分")

# 优化后的等级规则（仅基于积分，更合理）
rules = """
会员等级规则（基于累计积分）：
1. 钻石会员：积分≥10000分
2. 白金会员：5000分≤积分<10000分
3. 黄金会员：2000分≤积分<5000分
4. 白银会员：1000分≤积分<2000分
5. 青铜会员：500分≤积分<1000分
6. 普通会员：积分<500分
"""
print(rules)

# 根据积分判定等级
if points >= 10000:
    level = "钻石会员"
elif 5000 <= points < 10000:
    level = "白金会员"
elif 2000 <= points < 5000:
    level = "黄金会员"
elif 1000 <= points < 2000:
    level = "白银会员"
elif 500 <= points < 1000:
    level = "青铜会员"
else:
    level = "普通会员"

print(f"您的会员等级是：{level}")